<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Comments extends CI_Controller {
	
	function __construct(){
		parent::__construct();
		$this->load->model('Comments_model');
		$this->session->keep_flashdata('redirect');
	}
	
	function add(){
		if(isset($this->session->userdata['is_logged_in'])){
			$this->load->library('form_validation');
		
			$config = array(
					array( 'field'   => 'comentario', 
						   'label'   => 'Comentario', 
						   'rules'   => 'trim|required'
						  ),
					array( 'field'   => 'id_lugar', 
						   'label'   => 'id_lugar', 
						   'rules'   => 'required'
						  ),						
					);
					
			$this->form_validation->set_rules($config);
		
			if ($this->form_validation->run() == FALSE){
				$this->session->set_flashdata('comment_error','Ingrese un comentario');
				$result=array(
							'estado'	=>'ERROR',
							'errores'	=>'Ingrese un comentario'
				);
				$this->load->view('comments/add', $result);
			}
			else
			{
				$id_user=$this->session->userdata['user_id'];	
				$username=$this->session->userdata['nombre_usuario'];			
				$comentario=$this->input->post('comentario');
				$id_lugar=$this->input->post('id_lugar');
				$id=$this->Comments_model->add($id_user,$id_lugar,$comentario);
				$data=array(
						'estado'		=>'OK',
						'username'		=>$username,
						'comentario'	=>$comentario,
						'id'			=>$id
				);
				$this->load->view('comments/add', $data);
			}
		}else
		{
			$result=array(
							'estado'	=>'ERROR',
							'errores'	=>'Debe iniciar sesion para agregar un comentario'
				);
			$this->load->view('comments/add', $result);
		}
	}
		
	function addToMap(){
		$result=null;
		if(isset($this->session->userdata['is_logged_in'])){
			$this->load->model('Nota_model');		
			$comentario = trim($this->input->post('comentario'));
			if(empty($comentario))
				$estado='EMPTY';
			else{
				$lat = $this->input->post('lat');
				$lng = $this->input->post('lng');
				$id_usuario = $this->session->userdata['user_id'];
				$id_sitio = $this->session->userdata['id_site'];
				$result = $this->Nota_model->add($id_sitio,$id_usuario,$comentario,$lat,$lng);
				$estado = 'OK';
			}
		}
		else
			$estado = 'LOGIN';
							
		$data=array(
				'result'		=>$result,
				'estado'		=>$estado
		);
		$this->load->view('places/nota', $data);
		
	}
	function getNotes(){
		$id_site = $this->session->userdata['id_site'];
		$this->load->model('Nota_model');	
		$result = $this->Nota_model->getNotes($id_site);
		$data=array(
				'result'		=>$result
		);
		$this->load->view('comments/getNotes', $data);
	}
	function eliminarComentario(){
		$status=$mensaje=null;
		if(isset($this->session->userdata['is_logged_in'])&&$this->session->userdata['is_logged_in']==true){
			$userID=$this->session->userdata['user_id'];
			$idComent=$this->input->post('id');
			$id=$this->Comments_model->getUser($idComent);
			if(!empty($id) && $id[0]->id_usuario==$userID){
				$this->Comments_model->eliminar($idComent);
				$status= 'OK';
			}	
			else{
				$status = 'NO';
				$mensaje= 'No puede borrar ese comentario';
			}
		}
		else{
			$status = 'NO';
			$mensaje=  'debe iniciar seseion para borrar un comentario';
		}
		$data=array(
				'status'		=>$status,
				'mensaje'		=>$mensaje
		);
		$this->load->view('comments/eliminarComentario', $data);
	}
	
	function eliminarNota(){
		$this->load->model('Nota_model');
		$status=$mensaje=null;
		if(isset($this->session->userdata['is_logged_in'])&&$this->session->userdata['is_logged_in']==true){
			$userID=$this->session->userdata['user_id'];
			$idNota=$this->input->post('id');
			$id=$this->Nota_model->getUser($idNota);
			
			if(!empty($id) && $id[0]->id_usuario==$userID){
				$this->Nota_model->eliminar($idNota);
				$status= 'OK';
			}	
			else{
				$status = 'NO';
				$mensaje= 'No puede borrar ese comentario';
			}
		}
		else{
			$status = 'NO';
			$mensaje=  'debe iniciar seseion para borrar un comentario';
		}
		$data=array(
				'status'		=>$status,
				'mensaje'		=>$mensaje
		);
		$this->load->view('comments/eliminarComentario', $data);
	}
	
	function _is_logged_in(){
		$is_logged_in = $this->session->userdata['is_logged_in'];
		if(!isset($is_logged_in) || $is_logged_in != true){
			redirect('users/login');		
		}
	}
	
}